According to a first aspect of the invention, a coordinate measuring machine for determining at least one spatial coordinate of a measurement point of an object to be measured comprises a base, a probe head adapted to approach the measurement point and a drive mechanism adapted to drive the probe head in a manner such that the probe head is capable to move relative to the base for approaching the measurement point. The CMM furthermore comprises a frame structure, to which the probe head is attached, the frame structure being movable in a horizontal and a vertical direction. Furthermore, the coordinate measuring machine according to the invention has a first camera. The camera is adapted to be directed to a measuring volume for providing at least a first image of at least a first part of the measuring volume, wherein the measuring volume represents a particular volume inside which the at least one spatial coordinate of the measurement point is determinable as to a design of the coordinate measuring machine, in particular as to a provided mobility of the probe head. Moreover, a controller of the coordinate measuring machine is adapted to control the drive mechanism on the basis of image data derived from the at least first image.
According to a specific embodiment of the invention the first camera is built as a first range camera having a range image sensor with a sensor array. The range camera is adapted to be directed to the object to be measured and is capable to provide the at least first image as a range image of the object to be measured. Range pixels of the range image correspond to a 3D-position of a target point of the object to be measured and are used as the image data for the creation of a point cloud of the object to be measured. Furthermore, the controller of the coordinate measuring machine serves to control the drive mechanism on the basis of the 3D-positions of the target points.
Range imaging in general is known as a technology which is used to produce a 2D-image showing the distance to points in a scene from a specific point. The resulting image which is generally called range image has pixel values which correspond to the distance of the respective target point at the object.
For instance, brighter values mean shorter distances or vice versa. It is even possible to properly calibrate the sensor producing such a range image which enables that pixel values can be given directly in physical units such as meters. For each of the pixels of the range image (range pixels) one separate sensor capable to measure a distance is assigned. Since the distance of the target point assigned to the respective sensor (pixel) is known, the 3D-position of the target point can be exactly determined.
Thus, by using the range imaging technology, it is possible to identify each of measurement points of an object to be measured, and to even determine each measurement points' 3D-data. However, while the 3D-positions determined by this manner might not be sufficiently accurate, because the amount of pixels of a range image can be limited, the information is sufficient to determine the shape of the object to be measured in the range image.
Thus, by using the 3D-positions of the target points, a controller can adjust a drive mechanism for driving the probe head in a manner to avoid severe impacts which could damage the probe head. Rather, by using the 3D-positions of the target points, the probe head can be made to approach the object to be measured with a comparably low speed, whereas in areas without the risk of an impact, that is, at greater distances from the object to be measured, the probe head can be moved with a comparably high speed. In order to overcome accuracy problems caused by the restricted number of available image points, advantageously, the range image can be overlaid with a real image of the object to be measured.
Thus, it is possible to perform the measuring of the measurement points of the object to be measured in a shorter time, because the 3D-positions of the measurement points constituting the object to be measured are known. Therefore, when getting close to one of these measurement points, the speed of the drive mechanism driving the probe head can be minimized, the moving direction of the probe head can be changed or other suitable measures can be taken.
Advantageously, the coordinate measuring machine may comprise a probe head position determining means. This probe head position determining means is capable to determine the 3D-position as well as a moving direction of the probe head. By learning the position of the probe head, the controller is even more capable to control the movement speed of the probe head by controlling the drive mechanism in dependency of the probe head's 3D-position and moving direction.
For instance, the probe head position determining means can use a sequence of range images, in which changing pixel values corresponding to the probe head's position are used for determining the distance from the probe head to the object to be measured. Thereby it is possible to accurately control the drive mechanism to be in the optimum speed range without the necessity to store the 3D-positions of the target points. Thereby, memory as well as time for calculating the positional relation between the probe head and the object to be measured can be advantageously avoided.
According to the first aspect of the invention, furthermore, the controller can be adapted to control a movement path of the probe head via the drive mechanism on the basis of the 3D-positions of the target points. That is, on the basis of the information provided by the range image, the controller can determine an optimum movement path for the probe head from the current measurement point to the subsequent measurement point. Thereby, since the shape of the object to be measured is known from the range image, the probe head can be controlled to move on the shortest possible movement path with the highest possible speed.
In order to move the probe head relatively to the base, either the base can be movable in a horizontal and a vertical direction, or the probe head can be attached to a frame structure being movable in a horizontal and a vertical direction. Furthermore, the base can be rotatable. This feature enables that a range image of the side of the object not facing the range camera can be taken after the base has been rotated. Thereby it is possible to avoid an impact against obstacles on the objects to be measured, which can be present on the side not facing to the range camera.
Advantageously, a range camera can be provided in an area close to the probe head and can be capable to move together with the probe head. The range camera for instance can be provided on the same frame element as the probe head, e.g. a vertical rod, or on a side arm of this element.
As a result, measures can be taken, e.g. to prevent a collision of the probe head and/or to adjust the measurement path, if the distance between the objects to be measured and the camera moving together with the probe head falls below a determined threshold value. This threshold value for instance can be expressed by a certain brightness value of the pixels corresponding to the objects to be measured.
This means that, for instance, if the brightness of the pixels achieves a predetermined level corresponding to the threshold value, the controller causes the drive mechanism to reduce the movement speed of the probe head. In particular, the camera can be provided in a rotatable manner and, thus, can be directed to the probe head's moving direction.
According to the invention, advantageously, the coordinate measuring machine can comprise a display adapted to show the range image. In particular, this display can be formed as a touch screen display. In this case, the controller can be adapted to control the drive mechanism on the basis of touch commands given by a user. Thereby, an intervention of a human user operating the coordinate measuring machine into the process flow executed by the controller is possible. For instance, it might be necessary to change a movement path of the probe head, to measure a measurement point not determined in advance, etc.
Also it can be advantageous to overlay the range image with a real image of the object to be measured in order to facilitate identification of certain measurement points by the user.
Furthermore, it can be advantageous if the range camera provides a stream image (range image stream), and the controller can be adapted to control the drive mechanism on the basis of the range image stream.
It can be even more advantageous, if the probe head's 3D-position is determined in a range image and the controller controls the drive mechanism on the basis of the probe head's determined 3D-position.
For instance, if the 3D-position of the probe head gets close to a 3D-position of one of the measurement points of the object to be measured, the controller may cause the drive mechanism to reduce the speed. Furthermore, such a determination can be made on the basis of the brightness value of the pixel representing the probe head and the pixels representing the object to be measured. That is, if the difference between the brightness values gets below a certain threshold value, the controller can cause the drive mechanism to reduce the movement speed of the probe head.
Advantageously, a second range camera can be provided in order to take a range image of the object's side, which is not facing to the first range camera. In this case, in order to perform the measurement of the coordinates, the controller may use 3D-data from any of the range images depending on the position and moving direction of the probe head.
The range images can be used to identify the position and orientation of the object to be measured and thus enable the probe head to be driven to the object without delay.
The range camera can also be used in case that there is no CAD model of the object to be measured available, or to roughly compare an existing CAD model with the appearance of the object to be measured.
In the first case the range picture of the object to be measured enables a rough guidance of the probe head, thus accelerating the measuring process.
In the latter case the pictures taken by the range camera can be used to identify whether the object to be measured matches a selected CAD model or even to autonomously select a CAD model out of a given set of CAD models. Also, the pictures can be used to identify major deviations of the object to be measured from the CAD model before measuring.
Advantageously, the coordinate measuring machine may comprise a calibration means which can be made visible on a range image. By using such a calibration means, for instance a plurality of geometrical reference objects positioned in a known distance, improvement of the 3D-position's accuracy can be achieved.
For instance, plural pyramids positioned on the base can be used as reference objects for the calibration means. Since their positional relation (e.g. for horizontal and vertical distances of their apexes) is exactly known, in the range image this information can be used for verifying and more accurately determining the 3D-positions of the measurement points of the objects to be measured.
Still referring to the first aspect of the invention, the coordinate measuring machine—according to a specific embodiment—comprises the controller adapted for execution of a measuring mode for precisely determining the at least one spatial coordinate of the object to be measured. On execution of the measuring mode the probe head is guided relatively to the object on a predefined measurement path and the at least one spatial coordinate of the measurement point of the object is derived from a measurement to the measurement point. Moreover, the controller is adapted for execution of an object-determination functionality, on execution of which surface data related to a surface of a body inside the measuring volume is derived from at least the first image by image processing as the image data and controlling information is derived depending on the surface data for controlling the guidance of the probe head. The object-determination functionality is executed in advance of the measuring mode and the controlling information is provided for execution of the measuring mode.
With such functionalities, a faster recognition or identification of an object on the CMM is provided and, furthermore, data is derived for performing a measurement of spatial coordinates of the detected object. A new part program may automatically be generated and executed for measuring main features without any programming task for a user. Advantageously, enabled by the object-determination functionality according to the invention, more safety for the user by avoiding collisions is provided, better reliability of the measurements (are parts correctly fixed and/or correctly aligned?) is given, very fast measurement (e.g. vision measure of a lot of holes) is enabled, the use of the CMM is simplified (no need to select the correct part program, no need to write a part program), the user may be guided to solve a problem (e.g. if the part is missing or if the part is not correctly mounted or aligned) and pallet measurements can be simplified.
According to a specific embodiment of the invention, on execution of the object-determination functionality an actual position and/or an actual orientation of the object located in the measuring volume is determined on basis of the surface data, the actual position and/or actual orientation is compared with a given demanded position and/or a given demanded orientation for the object in the measuring volume and the controlling information is generated depending on the comparison.
Furthermore, according to the invention, the object-determination functionality comprises a step of error detection, wherein the derived surface data is analysed on basis of known measuring volume properties and a presence of the object to be measured or of an obstacle is checked and output information is generated depending on the check, in particular wherein the controlling information is generated depending on the presence.
Advantageously, considering the presence or position and orientation of the object on the coordinate measuring machine, a path for measuring the object may be determined without need of further user input and, thus, user friendliness is improved. The user may be provided with sufficient information to align the part to avoid usual manual aligning steps. Additionally, the execution of the measuring mode may be made dependent on the check if the object is located on the CMM or not. Thus, these features enable to ensure that a part to be measured is on the table and is correctly fixed e.g. with a designated span tools.
Some embodiments of the invention relate to a defined (and provided) set of object data. The defined object data provides surface profiles of defined objects to be measured and/or a particular measurement path for each of the defined objects to be measured, in particular two or more measurement paths each accounting to a type of measurement sensor the object is measurable with, and/or the demanded position and/or the demanded orientation on the base corresponding to the object to be measured.
In particular, according to the invention, the object-determination functionality comprises a step of identifying the object located in the measuring volume by comparing the surface data with the set of object data, in particular wherein the controlling information is generated providing the measurement path for the identified object as a function of a particular set of object data which corresponds to the identified object.
Thus, a above comparison of given object data with derived data from a captured image of the measuring volume or the object, respectively, provides object-identification and generation of controlling information for providing precise and fast measuring of the object. A part program can be identified, which is stored and provided, that is to be used for measurement of a respective part (auto-detection of the part to be measured).
Moreover, as to a further embodiment of the invention, on execution of the object-determination functionality the camera is realigned depending on the controlling information, a second or more images are captured, the surface data is updated by additionally using data derived by image processing of the second or more images and the controlling information is actualised depending on the updated surface data. By realigning the camera, additional images from different directions are capturable and further object-surface-information is derivable from the additionally captured images for providing an improved base for measurement and/or guidance of the probe head.
Furthermore, according to a specific embodiment of the invention in context with the object-determination functionality, the camera is built as a non-range-measuring camera and/or the camera is built as a camera for capturing visually perceivable 2D-images, in particular as CCD or CMOS-Array or webcam. Relating to the object-determination functionality the used camera may be built as common camera enabled to capture images, which provide spectral information of a captured environment corresponding to human visual perceivability. Particularly, the camera comprises integrated illumination means for illuminating the measuring volume and/or the object.
Advantageously, a digital model of the object is generated—according to the invention—on basis of the image data, in particular on basis of the surface data or the 3D-positions of the target points, in particular a CAD-model. By producing such a model out of the captured at least one image a coarse shape of the object's surface can be derived and based on the shape a measuring path can be determined corresponding to which a subsequent measurement may be performed. Moreover, above mentioned advantageous features, e.g. check for presence of the object, check alignment of the object, provide a part program for measuring the object and/or find a given part program, are performable on basis of the digital model.
Particularly, as to a further embodiment of the invention, the frame structure comprises at least a first and a second frame member and a vertical rod, wherein the first and the second frame member and the vertical rod are arranged for being moveable in at least two perpendicular directions by at least two drive mechanisms, in particular wherein the coordinate measuring machine is built as portal coordinate measuring machine. Such design of a CMM additionally is described in more detail below (particularly in context with FIGS. 1, 4, 5 and 6).
Alternatively, the frame structure may provide a structure of a so called Delta Robot or of other parallel kinematics.
A Delta Robot is a type of parallel robot. It comprises a stationary platform fixed at a stationary frame, which is mounted above a workspace (above the base), and three middle jointed arms extending from the platform. The arms, often called kinematic chains, are connected with their first end to the platform by means of universal joints and connected with their second end to an end effector often built in form of a triangular or circular second platform. The arms are made of lightweight composite material and are driven by actuators (drive mechanism) located in the platform. Actuation can be done with linear or rotational actuators. As the arms are made of a light composite material the moving parts of the delta robot have a small inertia. This allows for very high accelerations and very fast movement, which outclasses by far those realizable by a portal machine or an articulated arm. The key design feature of a Delta Robot is the use of parallelograms in the arms, which maintains the orientation of the end effector by restricting the movement of the end effector to pure translation (movement only with 3 degrees of freedom (3DOF: translation in the x-, y- or z-direction). The movement of the end effector is controlled by a main controller getting feedback information of the actuators and of angle encoders connected to the joints of the arms often named position encoders. A trajectory of the end effector from a first position to a second position may be stored in the main controller. During operation the main controller controls the actuators of the arms in a way that the end effector follows the programmed trajectory.
In a further development the degree of freedom (DOF) of the Delta Robot had been extended up to 6, allowing the end effector lateral movements in Cartesian directions x, y, z and rotational movements around those axis resulting in yawing, rolling, pitching.
Nowadays, Delta Robot machines have been designed for measurement applications. Concerning such systems, a probe head with a measuring sensor (tactile or optical) is located at the end effector and the exact position of the end effector is monitored for determining exact position information for a measured point (as exemplarily disclosed in European Patent Application No. 12183806.4 filed on 11 Sep. 2012 by applicant of the present application).